package multimanipulators.interfaces;

import java.io.OutputStreamWriter;
import java.io.Serializable;
import java.lang.reflect.Constructor;

public interface Finders extends Serializable,Cloneable,Comparable{
	/**
	 * initialize the finder is used for reset all finders by match
	 * **/
	public void init();
	/**
	 * @return sea if there is a match foubd
	 * **/
	public boolean ismatchfound();
	/**
	 * @param wil use the int as new read 
	 * @return bool ()
	 * **/
	public boolean isnext(int read);
	/**
	 * @return for debug (what are you doing)
	 * sample:new String("<FIND:"+tofind+"&pos"+recklok+">");
	 * use always new String for performance
	 * **/
	public String toString();
	/**
	 *  wil use after found match and wel return the length that he has need to converter
	 * @return int ()
	 * **/
	public int getusedbufferlength();
	public void setConverter(Converters converter);
	public void convert(char[] data, OutputStreamWriter doutstream) throws Exception;

}
